package com.app.common;

import java.util.List;

/**
 * Copyright (C) @2020 fgwang.660@gmail.com
 *
 * @author witt
 * @version 1.0
 * @interfaceName ICURDService
 * @date 2020-06-14 11:15
 * @description 三层架构中，Service的顶级接口
 */
public interface ICURDService<T> {

	/**
	 * 查询全部数据集合
	 *
	 * @return
	 */
	List<T> get();

	/**
	 * 根据id查询单条数据
	 *
	 * @param id 主键Id
	 * @return 数据对象
	 */
	T get(Integer id);


	/**
	 * 新增数据
	 *
	 * @param obj 数据对象
	 * @return 主键id
	 */
	Integer add(T obj);

	/**
	 * 更新数据
	 *
	 * @param obj 更新数据对象
	 */
	void update(T obj);

	/**
	 * 删除数据，支持批量
	 *
	 * @param ids 删除的主键，例如 1,2,3,4  可以批量
	 */
	void delete(String ids);

}
